package modelo.delictivas;

import modelo.geografia.Capital;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;


public abstract class TesoroNacional {
	
	protected String nombre;
	protected Capital capitalDeOrigen;
	
	
	public String getNombre() {
		
		return this.nombre;
	}
	
	public abstract int obtenerCantidadCapitalesAEscaparse(Ladron unLadron);
	
	public Capital getCapitalDeOrigen(){
		
		return this.capitalDeOrigen;
	}
	
	public abstract Node serializar(Document doc);
	
	
public static TesoroNacional hidratar(Element elementoTesoro) throws Exception {
	
	
		if ( elementoTesoro.getNodeName() == "TesoroNacionalComun" )
			return ( TesoroNacionalComun.hidratar(elementoTesoro) );
		
		else if ( elementoTesoro.getNodeName() == "TesoroNacionalValioso")
			return ( TesoroNacionalValioso.hidratar(elementoTesoro) );
		
		else if ( elementoTesoro.getNodeName() == "TesoroNacionalMuyValioso" )
			return ( TesoroNacionalMuyValioso.hidratar( elementoTesoro ) );
		
		return null;
	}

}
